好唷!來說說小鎮上精靈們的書店草創時期小故事 - 第 1 篇~~~~😊
在魔法的小鎮上,這群可愛的小精靈,他們決定開一家書店,讓小鎮的居民都能享受閱讀的樂趣。然而,開店的過程中,他們遇到了不少困難~
小精靈們熱情洋溢地開始規劃他們的書店。面臨的第一個挑戰是要填充書店的書籍資料。精靈們希望每本書都有獨特的故事和角色,但小精靈們的書庫(資料庫)卻空空如也。
為了解決這個問題,小精靈們決定使用一個名叫「Seeder」的魔法。他們記得從老書中學到的,這種魔法可以快速生成書籍資料。
首先,小精靈們創建了一個名為 BookSeeder
的魔法器具,這個器具能夠在書店的資料庫中插入書籍資訊。他們開始編輯這個器具,決定放入一些熱門書籍的資料。
要使用 BookSeeder
的魔法器具,需要先使用 Artisan 命令 中的 make:seeder
小魔法
產生的魔法器具會儲放在 database/seeders
目錄中
php artisan make:seeder BookSeeder
可以看到在檔案中有預設一個方法:run
,當執行 Artisan 命令 中的 db:seed
時就會呼叫此方法
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\\DB;
class BookSeeder extends Seeder
{
public function run()
{
DB::table('books')->insert([
['title' => '魔法之書', 'author' => '艾莉絲', 'genre' => '魔法'],
['title' => '冒險之旅', 'author' => '巴比', 'genre' => '冒險'],
]);
}
}
然後,小精靈們新增完 run
方法的內容後,用魔法執行了 db:seed
,將資料填入資料庫中:
# 我們可以指定要單獨運行的特定 seeder 類
php artisan db:seed --class=BookSeeder
# 運行全部
php artisan db:seed
當書籍資料終於填充完畢後,小精靈們歡呼雀躍,書店的書架上開始有了各式各樣的書籍。
但小精靈想說也有些評論想要來填充進去資料庫,內容看起來可以更豐富
可以使用 call
方法來執行其他 seeder
類。使用 call
方法可以將資料庫種子劃分為多個文件,這樣就不會有單個 seeder
類變得太大。
/**
* Run the database seeders.
*/
public function run(): void
{
$this->call([
BookSeeder::class, // 新增書籍資料
CommentSeeder::class // 新增評論資料
]);
}
明天再來聊聊小精靈如何克服下一個挑戰唷!
參考資料
踏著身心靈的塔羅腳步,轉向技術與邏輯的工程師之路,就藉由塔羅日抽來紀錄今日的學習與生活吧!
權杖騎士:保持熱情,勇往直前,著滿滿的能量與活力!
Nothing is as important as passion. No matter what you want to do with your life, be passionate.
沒有什麼比熱情更為珍貴,無論你想要在生命中追求什麼,都要全心投入,懷抱熱情。
— Jon Bon Jovi